#ifndef BT_API_OBEX_H
#define BT_API_OBEX_H

#define OBEX_RESPONSE_CONTINUE              0x90
#define OBEX_RESPONSE_OK                    0xA0
#define OBEX_RESPONSE_NON_AUTH_INFORMATION  0xA3
#define OBEX_RESPONSE_NO_CONTENT            0xA4
#define OBEX_RESPONSE_BAD_REQUEST           0xC0
#define OBEX_RESPONSE_UNAUTHORIZED          0xC1
#define OBEX_RESPONSE_FORBIDDEN             0xC3
#define OBEX_RESPONSE_NOT_FOUND             0xC4
#define OBEX_RESPONSE_METHOD_NOT_ALLOWED    0xC5
#define OBEX_RESPONSE_NOT_ACCEPTABLE        0xC6

#ifndef BT_UI_PRESENT
#define BT_TEST_FILE_SEND
#endif

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

// API: setup a OBEX connect
int appbt_obex_connect(struct bt_addr addr);
// API: disconnect a OBEX connection
int appbt_obex_disconnect(int tid);
int appbt_obex_send_file_start(void);
// API: send file to target device
int appbt_obex_send_file(struct bt_task_obex_file_send *file);
// API: accept or reject file
// OBEX_RESPONSE_CONTINUE or OBEX_RESPONSE_NOT_ACCEPTABLE
int appbt_obex_send_response(int tid, unsigned char response_code);

void obex_file_test_send(void);

#ifdef __cplusplus
}
#endif // __cplusplus

#endif

